package org.turnlink.sclm.model;

import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import com.thoughtworks.xstream.annotations.XStreamAlias;
/**
 * Contact entity. @author MyEclipse Persistence Tools
 */
@XStreamAlias("contact")
@Entity
@Table(name = "contact", catalog = "turnlink", uniqueConstraints = @UniqueConstraint(columnNames = {
		"unique_identifier", "account_id" }))
public class Contact implements java.io.Serializable {

	// Fields

	private Integer contactId;
	private String uniqueIdentifier;
	private String firstName;
	private String lastName;
	private String companyName;
	private String email;
	private String primaryPhone;
	private String addressLine1;
	private String addressLine2;
	private String city;
	private String stateProvinceCode;
	private String postalCode;
	private String zipCode5;
	private String countryCode;
	private String fax;
	private String homePhone;
	private String cellPhone;
	private String businessPhone;
	private String generic0;
	private String generic1;
	private String generic2;
	private String generic3;
	private String generic4;
	private String generic5;
	private String generic6;
	private String generic7;
	private String generic8;
	private String generic9;
	private Integer accountId;
	private Timestamp createDate;
	private Timestamp modifiedDate;

	// Constructors

	/** default constructor */
	public Contact() {
	}

	/** minimal constructor */
	public Contact(String uniqueIdentifier, Integer accountId,
			Timestamp createDate) {
		this.uniqueIdentifier = uniqueIdentifier;
		this.accountId = accountId;
		this.createDate = createDate;
	}

	/** full constructor */
	public Contact(String uniqueIdentifier, String firstName, String lastName,
			String companyName, String email, String primaryPhone,
			String addressLine1, String addressLine2, String city,
			String stateProvinceCode, String postalCode, String zipCode5,
			String countryCode, String fax, String homePhone, String cellPhone,
			String businessPhone, String generic0, String generic1,
			String generic2, String generic3, String generic4, String generic5,
			String generic6, String generic7, String generic8, String generic9,
			Integer accountId, Timestamp createDate, Timestamp modifiedDate) {
		this.uniqueIdentifier = uniqueIdentifier;
		this.firstName = firstName;
		this.lastName = lastName;
		this.companyName = companyName;
		this.email = email;
		this.primaryPhone = primaryPhone;
		this.addressLine1 = addressLine1;
		this.addressLine2 = addressLine2;
		this.city = city;
		this.stateProvinceCode = stateProvinceCode;
		this.postalCode = postalCode;
		this.zipCode5 = zipCode5;
		this.countryCode = countryCode;
		this.fax = fax;
		this.homePhone = homePhone;
		this.cellPhone = cellPhone;
		this.businessPhone = businessPhone;
		this.generic0 = generic0;
		this.generic1 = generic1;
		this.generic2 = generic2;
		this.generic3 = generic3;
		this.generic4 = generic4;
		this.generic5 = generic5;
		this.generic6 = generic6;
		this.generic7 = generic7;
		this.generic8 = generic8;
		this.generic9 = generic9;
		this.accountId = accountId;
		this.createDate = createDate;
		this.modifiedDate = modifiedDate;
	}

	// Property accessors
	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "contact_id", unique = true, nullable = false)
	public Integer getContactId() {
		return this.contactId;
	}

	public void setContactId(Integer contactId) {
		this.contactId = contactId;
	}

	@Column(name = "unique_identifier", nullable = false, length = 200)
	public String getUniqueIdentifier() {
		return this.uniqueIdentifier;
	}

	public void setUniqueIdentifier(String uniqueIdentifier) {
		this.uniqueIdentifier = uniqueIdentifier;
	}

	@Column(name = "first_name", length = 45)
	public String getFirstName() {
		return this.firstName;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	@Column(name = "last_name", length = 45)
	public String getLastName() {
		return this.lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	@Column(name = "company_name", length = 100)
	public String getCompanyName() {
		return this.companyName;
	}

	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}

	@Column(name = "email", length = 200)
	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@Column(name = "primary_phone", length = 20)
	public String getPrimaryPhone() {
		return this.primaryPhone;
	}

	public void setPrimaryPhone(String primaryPhone) {
		this.primaryPhone = primaryPhone;
	}

	@Column(name = "address_line_1", length = 200)
	public String getAddressLine1() {
		return this.addressLine1;
	}

	public void setAddressLine1(String addressLine1) {
		this.addressLine1 = addressLine1;
	}

	@Column(name = "address_line_2", length = 200)
	public String getAddressLine2() {
		return this.addressLine2;
	}

	public void setAddressLine2(String addressLine2) {
		this.addressLine2 = addressLine2;
	}

	@Column(name = "city", length = 150)
	public String getCity() {
		return this.city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	@Column(name = "state_province_code", length = 10)
	public String getStateProvinceCode() {
		return this.stateProvinceCode;
	}

	public void setStateProvinceCode(String stateProvinceCode) {
		this.stateProvinceCode = stateProvinceCode;
	}

	@Column(name = "postal_code", length = 15)
	public String getPostalCode() {
		return this.postalCode;
	}

	public void setPostalCode(String postalCode) {
		this.postalCode = postalCode;
	}

	@Column(name = "zip_code_5", length = 5)
	public String getZipCode5() {
		return this.zipCode5;
	}

	public void setZipCode5(String zipCode5) {
		this.zipCode5 = zipCode5;
	}

	@Column(name = "country_code", length = 10)
	public String getCountryCode() {
		return this.countryCode;
	}

	public void setCountryCode(String countryCode) {
		this.countryCode = countryCode;
	}

	@Column(name = "fax", length = 30)
	public String getFax() {
		return this.fax;
	}

	public void setFax(String fax) {
		this.fax = fax;
	}

	@Column(name = "home_phone", length = 30)
	public String getHomePhone() {
		return this.homePhone;
	}

	public void setHomePhone(String homePhone) {
		this.homePhone = homePhone;
	}

	@Column(name = "cell_phone", length = 30)
	public String getCellPhone() {
		return this.cellPhone;
	}

	public void setCellPhone(String cellPhone) {
		this.cellPhone = cellPhone;
	}

	@Column(name = "business_phone", length = 30)
	public String getBusinessPhone() {
		return this.businessPhone;
	}

	public void setBusinessPhone(String businessPhone) {
		this.businessPhone = businessPhone;
	}

	@Column(name = "generic0", length = 200)
	public String getGeneric0() {
		return this.generic0;
	}

	public void setGeneric0(String generic0) {
		this.generic0 = generic0;
	}

	@Column(name = "generic1", length = 200)
	public String getGeneric1() {
		return this.generic1;
	}

	public void setGeneric1(String generic1) {
		this.generic1 = generic1;
	}

	@Column(name = "generic2", length = 200)
	public String getGeneric2() {
		return this.generic2;
	}

	public void setGeneric2(String generic2) {
		this.generic2 = generic2;
	}

	@Column(name = "generic3", length = 200)
	public String getGeneric3() {
		return this.generic3;
	}

	public void setGeneric3(String generic3) {
		this.generic3 = generic3;
	}

	@Column(name = "generic4", length = 200)
	public String getGeneric4() {
		return this.generic4;
	}

	public void setGeneric4(String generic4) {
		this.generic4 = generic4;
	}

	@Column(name = "generic5", length = 200)
	public String getGeneric5() {
		return this.generic5;
	}

	public void setGeneric5(String generic5) {
		this.generic5 = generic5;
	}

	@Column(name = "generic6", length = 200)
	public String getGeneric6() {
		return this.generic6;
	}

	public void setGeneric6(String generic6) {
		this.generic6 = generic6;
	}

	@Column(name = "generic7", length = 200)
	public String getGeneric7() {
		return this.generic7;
	}

	public void setGeneric7(String generic7) {
		this.generic7 = generic7;
	}

	@Column(name = "generic8", length = 200)
	public String getGeneric8() {
		return this.generic8;
	}

	public void setGeneric8(String generic8) {
		this.generic8 = generic8;
	}

	@Column(name = "generic9", length = 200)
	public String getGeneric9() {
		return this.generic9;
	}

	public void setGeneric9(String generic9) {
		this.generic9 = generic9;
	}

	@Column(name = "account_id", nullable = false)
	public Integer getAccountId() {
		return this.accountId;
	}

	public void setAccountId(Integer accountId) {
		this.accountId = accountId;
	}

	@Column(name = "create_date", nullable = false, length = 19)
	public Timestamp getCreateDate() {
		return this.createDate;
	}

	public void setCreateDate(Timestamp createDate) {
		this.createDate = createDate;
	}

	@Column(name = "modified_date", length = 19)
	public Timestamp getModifiedDate() {
		return this.modifiedDate;
	}

	public void setModifiedDate(Timestamp modifiedDate) {
		this.modifiedDate = modifiedDate;
	}

}